tg-me.com/machinelearning_interview/1772
Last Update:
βͺοΈ Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ½Π»Π°ΠΉΠ½-ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°Π½Π½ΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ.
ΠΠ°Π½ΠΎ:
- ΠΠΎΡΠΎΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ Π²ΠΈΠ΄Π°:
{
"user_id": "string",
"event_type": "click" | "view" | "purchase",
"item_id": "string",
"timestamp": "ISO 8601",
"features": {
"device_type": "mobile" | "desktop",
"location": "string",
"time_of_day": "morning" | "afternoon" | "evening" | "night",
"category": "string"
}
}
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ:
1. ΠΠΎΡΡΡΠΎΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ:
- ΠΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΠΎΠΊΡΠΏΠΊΠΈ (`purchase`) ΠΏΠΎ ΡΠΎΠ±ΡΡΠΈΡ
view
.- ΠΠΎΠ΄Π΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Ρ Π½ΡΠ»Ρ.
- ΠΡΠΈ ΡΡΠΎΠΌ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΄Π°Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· 24 ΡΠ°ΡΠ° (Π΄Π°Π½Π½ΡΠ΅ "ΠΆΠΈΠ²ΡΡ" ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΊΠΈ).
2. ΠΠ½Π΅Π΄ΡΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ:
- ΠΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π΄ΡΠ΅ΠΉΡΠ° Π΄Π°Π½Π½ΡΡ Π±Π΅Π· Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠ°ΡΡΠΌ Π΄Π°Π½Π½ΡΠΌ.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΡΠ΅ΠΉΡΠ°.
3. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ:
- ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΡΠΎΠ±ΡΡΠΈΠΉ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ.
- Latency ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ β Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 100 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄.
---
βͺοΈ ## ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ:
- ΠΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΏΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ on-line learning ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SGDClassifier Ρ
partial_fit
Π² sklearn, ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ).- ΠΠ»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄ΡΠ΅ΠΉΡΠ° Π±Π΅Π· Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
- Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΏΠΎ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ°ΠΌ (ΡΠΊΠΎΠ»ΡΠ·ΡΡΠΈΠ΅ ΠΎΠΊΠ½Π°, Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, PSI / KL-Π΄ΠΈΠ²Π΅ΡΠ³Π΅Π½ΡΠΈΡ).
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΡΠΊΠΎΠ»ΡΠ·ΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ.
- ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅ ΠΎΠ± ΠΎΡΠ΅ΡΠ΅Π΄ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅.
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎΠΈΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ feature hashing Π΄Π»Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ², ΡΡΠΎΠ±Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ².
---
βͺοΈ ## Π§ΡΠΎ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ:
- Π£ΠΌΠ΅Π½ΠΈΠ΅ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ.
- ΠΠ°Π²ΡΠΊΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠ²Π΅ΡΠ°.
- Π‘ΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄Π΅ΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΠ΅ΠΉΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ Π½Π° Π½Π΅Π³ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ.
- Π§ΠΈΡΡΠΎΡΠ° ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ.
- ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ML ΡΠΈΡΡΠ΅ΠΌ.
---
βͺοΈ ## Π Π°Π·Π±ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ:
**ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ΡΠ΅Π½ΠΈΡ:**
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΌΠΎΠ΄Π΅Π»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
SGDClassifier
, Vowpal Wabbit
, ΠΈΠ»ΠΈ ΡΠ²ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π³ΡΠ΅ΡΡΠΈΠΈ).- ΠΠ»Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ feature hashing (ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠΎΡΡΠ° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ²).
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ "ΠΆΠΈΠ²ΠΎΠΉ" ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ:
- Π₯ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ N ΡΠΎΠ±ΡΡΠΈΠΉ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½) Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ (TTL).
- ΠΠ»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ Π΄ΡΠ΅ΠΉΡΠ°:
- Π‘Π»Π΅Π΄ΠΈΡΡ Π·Π° ΡΡΠ΅Π΄Π½ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΡΠΎΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ.
- ΠΡΠΈ ΡΠ΅Π·ΠΊΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ β ΡΡΠΈΠ³Π³Π΅ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ Π½ΡΠ»Ρ.
ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ:
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° "Ρ ΠΎΠ»ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ°" ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π΅Π· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ .
- ΠΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½Π° ΡΡΠΌ ΠΏΡΠΈ ΡΠ°ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
- ΠΠ°Π»Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ².
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ:
- Π‘ΠΊΠΎΠ»ΡΠ·ΡΡΠΈΠ΅ Π³ΠΈΡΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ² (`histogram_sketching`).
- Feature hashing (`HashingVectorizer`, `FeatureHasher`).
- ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ (`partial_fit`,
warm_start
ΠΌΠΎΠ΄Π΅Π»ΠΈ).- ΠΠ΅ΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π΄ΡΠ΅ΠΉΡΠ°: Population Stability Index (PSI), JS/ KL Π΄ΠΈΠ²Π΅ΡΠ³Π΅Π½ΡΠΈΡ.
ΠΠ΅Π»ΠΈΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ π
@machinelearning_interview
#ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ #Π·Π°Π΄Π°ΡΠ° #ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ΅ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅